#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
#include<stdbool.h>
#include<stdlib.h>


typedef int StackDataType;

typedef struct StackNode
{
	StackDataType data;
	struct StackNode* next;
}StackNode;


StackNode* StackInit();
void StackDestroy(StackNode** pphead);
void StackPush(StackNode* phead, StackDataType x);
void StackPop(StackNode* phead);
StackDataType StackTop(StackNode* phead);
int StackSize(StackNode* phead);
bool StackEmpty(StackNode* phead);
void StackClear(StackNode* phead);